#include <51func.h>
enum {
    FREE,
    BUSY
};
typedef struct workerdata_s{
    // 父进程分配的，用于获取每个进程的信息
    pid_t pid; // 子进程的pid
    int status; // 子进程的状态（忙碌or空想）
    int sockfd; // 父进程和子进程之间的socketpair
} workerdata_t;
typedef struct train_s {
    int length;
    char data[1000];
} train_t;
int makeWorker(int workernum, workerdata_t * workerdataArr);
int tcpInit(char *ip, char *port,int *psockfd);
int epollAdd(int epfd, int fd);
int epollDel(int epfd, int fd);
int sendfd(int sockfd, int fdtosend);
int recvfd(int sockfd, int *pfdtorecv);
int handle(int sockfd);
int transfile(int netfd);
